Computer systems which permit customers to obtain information about their individual financial accounts or to direct financial transactions involving their accounts are known. In one type of previously known systems, a main frame computer controls access to financial institution accounts and maintains a database of financial transaction information for its customers. The database management systems in these types of financial systems are typically proprietary and many are not compliant with known standards for Relational Data Base Management Systems ("RDBMS"). Transaction data is typically provided to these types of database management systems from terminals at teller locations, front-end processors for automated teller machines, or other machines which read checks or other financial instruments to convert data to a form compatible with the database management system.
To permit users to access a database in this type of system, multiple telephone lines coupled with voice-response units (VRUs) are provided. The voice response units, in turn, are coupled to front-end processors for controlling communications between a main frame computer and the VRUs. To access account information, a customer makes a telephone call using a touch-tone telephone to one of the telephone lines coupled to a VRU. The voice response unit provides an audio menu from which a customer selects an entry by depressing a button corresponding to the entry on the user's touch tone telephone. By traversing a menu structure in this manner, a user can generate a query for an account balance, last transaction, or other financial information obtained in the user's account. The voice response unit provides the selected request or command to the front-end processor which converts the data message to a format compatible with the database management system on the mainframe computer. Once the data was retrieved, it is returned to the front-end processor, provided to the voice response unit for conversion to audio information, and provided over the telephone line to the user.
These systems suffered from a number of limitations. For one, users have to remember all menu selections provided by the voice response unit. Likewise, users have to write down the information that was provided over the voice response units for their records. In addition, the entry of data is more cumbersome because users only have ten or twelve keys available for input.
In an effort to overcome these and other limitations of the voice response systems, systems were developed in which a user could use a personal computer ("PC") and a modem to communicate with computers at the financial institution. In this type of system, the customer is provided with a program which the user loads on his or her PC. This program facilitates the user's control of the computer's communication controller to call the financial institution using the PC's modem. At the financial institution, the telephone lines are provided with modems for communicating messages from the user's PC to a communication processor. The communication processor controls the interaction with the user. The menu selections are either generated by the program at the user's computer or downloaded from the communication processor for display at the user's computer. This visual display facilitates the user's interaction with the system. In addition, the PC keyboard provides the user with a more versatile component for entering data. Also, data retrieved from the database and provided from the front-end processor to the communication processor can be down-loaded to the user's PC and displayed. The user can then store the information in the user's computer memory or print the information.
While this type of system overcomes limitations of previously known systems which utilize audio methods, it still requires a user to make a telephone call to the financial institution in order to be coupled to the financial institution's computer system. When the user is in an area outside the local calling area of the computer system, a long distance telecommunication charge is incurred. If the amount of information to be downloaded is substantial, the charges may be significant. Another limitation of these systems is the requirement that the financial institution provide at a nominal or no charge, a computer program for the user to load onto his or her PC. As the installation of a computer program requires more knowledge about a user's PC than some users know, customer frustration arises during efforts to load the financial institution communication program onto a user's PC. In order to provide support for these users, the financial institutions have to contract or employ computer professionals for providing telephone assistance to these users. These overhead costs may be significant for the financial institutions.
Within the last decade, the Internet has become a more commonly used form of computer communication. The Internet is a network of computer networks, all of which communicate in a standard communication protocol. Information is routed through these networks by computers known as routers which translate mnemonic addresses to Internet protocol addresses. One communication protocol supported by the Internet is the Hyper Text Transport Protocol ("HTTP"). This protocol was adopted for the communication of graphical and text information across the Internet. This form of communication became more popular as client programs, known as web browsers, became commercially available and user friendly. Accordingly, many computer users obtained commercially available browsers so they could "surf" the Internet and obtain files from servers coupled to the Internet which were written in the Hyper Text Mark-up Language ("HTML"). Today, many computers are provided with web browsers without requiring user installation.
Companies or individuals which couple servers to the Internet for providing product and service information to potential customers recognize that more than just a few files can be maintained at the site for user access. Specifically, server operators use a server coupled to the Internet to provide queries from users communicated in the HTTP or other Internet protocol to a "gateway". A gateway can be an application program or a separate system which converts user queries from an Internet protocol to one compatible with a database coupled to the gateway. If more than one database is coupled to the gateway, the gateway performs the function of converting the user queries to the appropriate query language format for the database coupled to the gateway. Most databases coupled to a gateway are relational databases which may be accessed according to an open database compliant standard ("ODBC"). Companies which maintain data records in non-relational databases also want to present information to users over the Internet. These non-relational databases are commonly known as legacy databases as they are viewed as a legacy left from the period preceding relational data base usage.
One model developed for providing access to legacy databases over an open network, such as the Internet, is a three tier model. In the three tier model, a database interface is provided for communicating with the database management system which operates and controls the legacy database or other back end processor. A client interface for communicating with a client program executing on a user's computer is also a component of the three-tier system. Interposed between the database interface and client interface is a business logic component. The business logic component processes client requests received by the client interface with data obtained from a legacy database through the database interface. The database interface converts data received from a legacy database to a format compatible with the business logic component and converts the data requests generated by the business logic component to a format compatible with the legacy database.
While the three tier model provides user access to a legacy database, it too suffers from limitations. For one, if the number of users communicating with the client interface is significant, the business logic component may generate more data requests than the legacy databases can process. This is hardly surprising as these databases were developed to process data requests from a smaller number of users. For example, a bank database expected requests from a limited number of users--i.e., the number of tellers--rather than the number of bank customers which is possible for a system accessed via the Internet. As a result, the legacy databases may not be able to provide responses quickly enough to support real time customer interaction. Most known three-tier systems, as a result, either store user commands for batch processing at a later time or store them in a queue for near-time processing of account information requests. That is, user directed financial transaction commands were stored for batch processing by the legacy databases and account inquiries were supplied by the database interface to the legacy database through a queue to buffer the requests during periods of high demand. Thus, the limitations of legacy databases made real time execution of user commands difficult in systems where access to the system was made available to a large number of users. Because the user commands are processed in batch mode, legacy databases were updated to reflect user commands overnight and, in some instances, where several legacy databases had to be updated to clear a transaction, the user might not be able to see the transaction reflected in the user's account for several days. Unless a user maintains a record of the transaction requests submitted earlier to the system, the user may make financial decisions based on erroneous information.
What is needed is a three tier system that provides bank customers access to a legacy database over an open network without requiring storage of customer transaction commands for batch processing.
What is needed is a three tier system that supports real time execution of customer transaction commands that require data from more than one legacy database.
What is needed is a system which provides bank customers with real time access and execution of transaction commands over an open network without modifying a legacy database management system to support an increased number of users.